#!/usr/bin/env node

//实例化一个buffer对象buf,缓冲区的大小是256字节，初始化第一个字节为零，控制台打印 buf1 的长度和内容
//通过循环初始化buf1的每个字节，每个字节比上个字节大1,控制台打印buf1的内容
//对buf1做切片操作，取出后10个字节，存放到buf2中，控制台打印buf2的内容和长度
//对buf2做填充操作，所有字节填充为零，控制台打印buf2的内容
//用数组（数组内容随意）初始化 buf3，控制台打印 buf3 中的内容和长度
//用字符串（字符串内容随意）初始化 buf4，控制台打印 buf4 中的内容和长度，打印 buf4 字符串
//将 buf4 的内容复制到 buf3 中，打印复制后的 buf3 内容和长度，打印 buf3 字符串

const log = console.log;

const buf1 = Buffer.alloc(256);
log(buf1,buf1.length);

for(let i=0;i<buf1.length;i++){
  buf1[i]=i;
}

log(buf1,buf1.length);

const buf2 = buf1.slice(buf1.length-10,buf1.length);
//const buf2 = buf1.slice(0,1); //包含前面的，不包括后面的
log(buf2,buf2.length);

buf2.fill(0);
log(buf2,buf2.length);

const buf3 = Buffer.from(['a',123,'hello world']);
log(buf3,buf3.length);

const buf4 = Buffer.from('hello world');
log(buf4,buf4.length);

buf4.copy(buf3);//buf4复制到buf3里面，buf3内容变了
log(buf3,buf3.length);

//buf1.copy(buf2, 8, 16, 20);
//拷贝 buf1 中第 16 个至第 19 个字节到 buf2 第 8 个字节起。
